Existing systems collect or determine beacon reference data describing the locations of beacons or other wireless access points. The beacon reference data includes, for example, location information for the beacons. The beacon reference data is distributed to mobile devices to enable the mobile devices to estimate their positions based on the locations of the beacons observed by the mobile devices. With the existing systems, the beacon reference data consumes a significant amount of the limited memory available on the mobile devices and also consumes a significant amount of bandwidth for distribution.
Some existing systems have attempted to reduce the size of the beacon reference data by compressing the beacon reference data. These systems further store beacon identifiers with the compressed beacon reference data. Because the beacon identifiers often consume more memory than the beacon reference data, such existing systems provide minimal reduction in memory consumption. Other existing systems store the beacon reference data in hash tables using the beacon identifiers as keys. In addition to providing minimal reduction in memory consumptions, these systems have privacy issues because users of the mobile devices are able to iterate through the hash tables to obtain the beacon reference data.